home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / DATABASE / S9301.ZIP;1 / RUBEL.ZIP / HP_SIZE.PRG < prev    next >
Encoding:
Text File  |  1992-12-10  |  2.7 KB  |  142 lines

  1. PROCEDURE hp_size
  2. PRIVATE m_key
  3.  
  4. ***  start by defining the current window
  5.  
  6. DEFINE WINDOW help_win FROM mul_row, mul_col ;
  7.                        TO mlr_row, mlr_col ;
  8.                        DOUBLE
  9. ACTIVATE WINDOW help_win
  10.  
  11. m_key = 0
  12.  
  13. DO WHILE m_key # 27 .or. m_key # 13
  14.   m_key = inkey(0)            &&  wait for key
  15.  
  16.   DO CASE
  17.  
  18.     CASE m_key = 5            &&  cursor up
  19.       mlr_row = mlr_row - 1
  20.  
  21.     CASE m_key = 24           &&  cursor down
  22.       mlr_row = mlr_row + 1
  23.  
  24.     CASE m_key = 19           &&  cursor left
  25.       mlr_col = mlr_col - 1
  26.  
  27.     CASE m_key = 4            &&  cursor right
  28.       mlr_col = mlr_col + 1
  29.  
  30.     OTHERWISE                 &&  not interested
  31.       LOOP
  32.  
  33.   ENDCASE
  34.  
  35.   IF mlr_row = mul_row + 2  &&  too small
  36.     ?? chr(7)
  37.     mlr_row = mlr_row + 1
  38.     LOOP
  39.   ENDIF
  40.  
  41.   IF mlr_row = 25           &&  too big
  42.     ?? chr(7)
  43.     mlr_row = 24
  44.     LOOP
  45.   ENDIF
  46.  
  47.   IF mlr_col = mul_col + 7  &&  too small
  48.     ?? chr(7)
  49.     mlr_col = mlr_col + 1
  50.     LOOP
  51.   ENDIF
  52.  
  53.   IF mlr_col = 80           &&  too big
  54.     ?? chr(7)
  55.     mlr_col = 79
  56.     LOOP
  57.   ENDIF
  58.  
  59. ***  now that we have all this taken care of repaint window
  60.  
  61.   DEFINE WINDOW help_win FROM mul_row, mul_col ;
  62.                          TO mlr_row, mlr_col ;
  63.                          DOUBLE
  64.   ACTIVATE WINDOW help_win
  65.  
  66. ENDDO
  67.  
  68. RELEASE WINDOW help_win
  69.  
  70. RETURN
  71.  
  72. ********
  73.  
  74. PROCEDURE hp_move
  75. PRIVATE m_key
  76.  
  77. ***  start by defining the current window
  78.  
  79. DEFINE WINDOW help_win FROM mul_row, mul_col ;
  80.                        TO mlr_row, mlr_col ;
  81.                        DOUBLE
  82. ACTIVATE WINDOW help_win
  83.  
  84. m_key = 0
  85.  
  86. DO WHILE m_key # 27 .or. m_key # 13
  87.   m_key = inkey(0)            &&  wait for key
  88.  
  89.   DO CASE
  90.  
  91.     CASE m_key = 5            &&  cursor up
  92.  
  93.       IF mul_row > 0          &&  we can move
  94.         mul_row = mul_row - 1
  95.         mlr_row = mlr_row - 1
  96.         MOVE WINDOW help_win BY -1,0
  97.       ELSE
  98.         ?? chr(7)
  99.       ENDIF
  100.  
  101.     CASE m_key = 24           &&  cursor down
  102.  
  103.       IF mlr_row < 24         &&  we can move
  104.         mul_row = mul_row + 1
  105.         mlr_row = mlr_row + 1
  106.         MOVE WINDOW help_win BY 1,0
  107.       ELSE
  108.         ?? chr(7)
  109.       ENDIF
  110.  
  111.     CASE m_key = 19           &&  cursor left
  112.  
  113.       IF mul_col > 0          &&  we can move
  114.         mul_col = mul_col - 1
  115.         mlr_col = mlr_col - 1
  116.         MOVE WINDOW help_win BY 0,-1
  117.       ELSE
  118.         ?? chr(7)
  119.       ENDIF
  120.  
  121.     CASE m_key = 4            &&  cursor right
  122.  
  123.       IF mlr_col < 79         &&  we can move
  124.         mul_col = mul_col + 1
  125.         mlr_col = mlr_col + 1
  126.         MOVE WINDOW help_win BY 0,1
  127.       ELSE
  128.         ?? chr(7)
  129.       ENDIF
  130.  
  131.   ENDCASE
  132.  
  133. ENDDO
  134.  
  135. RELEASE WINDOW help_win
  136.  
  137. RETURN
  138.  
  139. ********
  140.  
  141.  
  142.